Skip to main content

Import and Export Rules

This document outlines the rules for importing and exporting files and modules in the project.

Barrel Exports​

Use Barrel Exports to combine multiple exports into a single file. This simplifies imports and improves readability.

Absolute Paths​

Use absolute paths for imports and exports. This ensures that imports and exports are consistent and easy to understand.

Named vs Default Exports​

Use named exports for specific components or modules, and default exports for common utilities or functions.

Two-Slash Rule for Path Aliases​

When using Path Aliases (e.g., @c, @h, @s), imports should have no more than two slashes (/). This ensures clean and readable import paths.

Example:​

// ✅: Two slashes or fewer
import Button from '@c/button/Button'; // @c/button/Button
import IconButton from '@c/button/IconButton'; // @c/button/IconButton
import useAuth from '@h/use-auth'; // @h/useAuth
import { fetchData } from '@s/api-service'; // @s/api-service

// ❌: More than two slashes
import Button from '@c/button/icon/Button'; // Avoid this!

Conclusion​

By following these rules for importing and exporting files and modules, you can improve the maintainability and readability of your project.